package reverseWords;

class Solution {
    public String reverseWords(String s) {
        // 反转
        int i = 0;
        int j = 0;
        String ans = "";
        while (i<s.length()&&j<s.length()) {
            if(!checkFirst(i,s)) {
                i++;
            } else if (!checkLast(j,s)) {
                j++;
            } else {
                ans =s.substring(i,j+1)+" "+ans;
                i++;
                j++;
            }
        }
        if(ans.length() == 0) return "";
        return ans.substring(0,ans.length()-1);
    }
    private boolean checkFirst(int i,String s) {
        if(i == 0) return s.charAt(i) != ' ';
        return s.charAt(i)!=' '&&s.charAt(i-1)==' ';
    }
    private boolean checkLast(int i,String s) {
        if(i == s.length()-1) return s.charAt(i)!=' ';
        return s.charAt(i)!=' '&&s.charAt(i+1) == ' ';
    }
}
